function rules = BestRules( InitData, dataSample, Antecedents, Params )

  [allRules , fulfilments] = AllRules( InitData, dataSample,...
    Antecedents, Params);
  
  InitData.RullesCount = min(InitData.RullesCount,size(allRules,1));
  
  rules = zeros(InitData.RullesCount,  InitData.FeatureCount + 1);
  
  for i=1:InitData.RullesCount
    [~,index] = max(fulfilments);
    rules(i,:) = allRules(index,:);
    fulfilments(index,:) = [];
  end%for i
  
end

